u4: Didaktische Ansätze zum Programmierenlernen

Die Aufgabenstellung finden Sie hier: https://informatik-franke.de/lehre/sose/fadiinf/u4.html

Lernen mit Lösungsbeispielen

Der Leseansatz
Der Expertenansatz
Der Spiralansatz

Programmieren als Prozess

Programmieren als komplexer, explorativer und inkrementeller Prozess

  1. Bevor ein Programm geschrieben werden kann, muss die Problemdomäne verstanden werden.
  2. Verständnis des Computermodells, das durch die Programmiersprache impliziert wird.
  3. Verständnis des Zusammenhangs zwischen statischer Beschreibung des Programms (Quellcode) und der dynamischen Ausführung (Laufzeitverhalten).
  4. Laufzeitverhalten verstehen: Kontrollfluss, Datenfluss, Datenstrukturen usw. Mit anfänglicher Schwierigkeit des Verständnis des Datenfluss.
Programmieren als Prozess - Live-Coding

Programmierprozess demonstrieren und für die Lernenden erfahrbar machen.
Lehrender entwickelt "live" Code und denkt laut während er denn Code schreibt, sodass die Lernenden den Denk- und Arbeitsprozess des Experten beobachten und nachvollziehen können.

Ziel dabei ist es, dass Programmcode schrittweise entwickelt wird und das fertige Programm erst am Ende des gesamten Programmierprozesses steht.
Statische, vorgefertigete Programmbeispiele können den Eindruck erwecken, dass zuerst der gesamte Programmcode geschrieben wird und erst am Ende der Code kompiliert und ausgeführt wird.

Variante - Participatory Live Coding
Variante - Screen Recordings
Vorteile Live-Coding
Inkrementelle Entwicklung kann demonstriert werden

"Notional machine"